package cn.matrix42.potoo.format.json.parser;

import cn.matrix42.potoo.annotation.Public;

import java.io.Serializable;
import java.util.List;

@Public
public class Json {

    public static JsonBuilder buildJson() {
        return new JsonBuilder();
    }

    public static JsonObject parseJson(String json) {
        return new JsonParser().parseJson(json);
    }

    public static List<String> read(String json, String path) {
        return parseJson(json).read(path);
    }

    public static List<String> read(JsonNode jsonNode, String path) {
        return jsonNode.read(path);
    }

    public static JsonNode form(Serializable object) {
        return null;
    }

    public static <T extends Serializable> T to(JsonNode jsonNode) {
        return null;
    }

    public void generateJavaClass(JsonObject jsonObject, String mainClassName, String packageName) {

    }

    public void generateJavaClass(String json, String mainClassName, String packageName) {
        JsonObject jsonObject = parseJson(json);
        generateJavaClass(jsonObject, mainClassName, packageName);
    }
}
